home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #14 / Monster Media No. 14 (April 1996) (Monster Media, Inc.).ISO / prog_bas / vbwarn.zip / FRMOFF.FRM < prev    next >
Text File  |  1995-12-11  |  13KB  |  446 lines

  1. VERSION 2.00
  2. Begin Form frmOff 
  3.    BackColor       =   &H00C0C0C0&
  4.    BorderStyle     =   3  'Fixed Double
  5.    Caption         =   "Officers"
  6.    ClientHeight    =   2145
  7.    ClientLeft      =   930
  8.    ClientTop       =   2385
  9.    ClientWidth     =   7695
  10.    Height          =   2835
  11.    Left            =   870
  12.    LinkTopic       =   "Form1"
  13.    MaxButton       =   0   'False
  14.    MinButton       =   0   'False
  15.    ScaleHeight     =   2145
  16.    ScaleWidth      =   7695
  17.    Top             =   1755
  18.    Width           =   7815
  19.    Begin CommandButton cmdReturn 
  20.       Caption         =   "Return to Warning"
  21.       Height          =   315
  22.       Left            =   5700
  23.       TabIndex        =   10
  24.       Top             =   900
  25.       Width           =   1815
  26.    End
  27.    Begin SSFrame Frame3D1 
  28.       ForeColor       =   &H00000000&
  29.       Height          =   915
  30.       Left            =   120
  31.       ShadowColor     =   1  'Black
  32.       TabIndex        =   13
  33.       Top             =   1200
  34.       Width           =   7455
  35.       Begin Data dtaOff 
  36.          BackColor       =   &H00C0C0C0&
  37.          Caption         =   "Officers"
  38.          Connect         =   ""
  39.          DatabaseName    =   "vbwarn.mdb"
  40.          Exclusive       =   0   'False
  41.          Height          =   315
  42.          Left            =   60
  43.          Options         =   0
  44.          ReadOnly        =   0   'False
  45.          RecordSource    =   "Officer"
  46.          Top             =   540
  47.          Width           =   2955
  48.       End
  49.       Begin CommandButton cmdDel 
  50.          BackColor       =   &H00C0C0C0&
  51.          Caption         =   "&Delete"
  52.          Height          =   315
  53.          Left            =   4260
  54.          TabIndex        =   6
  55.          Top             =   540
  56.          Width           =   915
  57.       End
  58.       Begin CommandButton cmdSave 
  59.          BackColor       =   &H00C0C0C0&
  60.          Caption         =   "&Save"
  61.          Height          =   315
  62.          Left            =   5340
  63.          TabIndex        =   3
  64.          Top             =   540
  65.          Width           =   915
  66.       End
  67.       Begin CommandButton cmdNew 
  68.          BackColor       =   &H00C0C0C0&
  69.          Caption         =   "&New"
  70.          Height          =   315
  71.          Left            =   3180
  72.          TabIndex        =   5
  73.          Top             =   540
  74.          Width           =   915
  75.       End
  76.       Begin CommandButton cmdCancel 
  77.          BackColor       =   &H00004080&
  78.          Caption         =   "&Cancel"
  79.          Height          =   315
  80.          Left            =   6420
  81.          TabIndex        =   4
  82.          Top             =   540
  83.          Width           =   915
  84.       End
  85.       Begin TextBox txtJumpTo 
  86.          BackColor       =   &H00C0C0C0&
  87.          Height          =   285
  88.          Left            =   4260
  89.          TabIndex        =   8
  90.          Top             =   180
  91.          Width           =   3075
  92.       End
  93.       Begin CommandButton cmdJumpTo 
  94.          Caption         =   "Jump To:"
  95.          Height          =   315
  96.          Left            =   3180
  97.          TabIndex        =   9
  98.          Top             =   180
  99.          Width           =   975
  100.       End
  101.       Begin ComboBox cmbSortBy 
  102.          BackColor       =   &H00C0C0C0&
  103.          Height          =   300
  104.          Left            =   780
  105.          TabIndex        =   7
  106.          Top             =   180
  107.          Width           =   2235
  108.       End
  109.       Begin Label lblSortBy 
  110.          BackColor       =   &H00C0C0C0&
  111.          Caption         =   "Sort By:"
  112.          Height          =   195
  113.          Left            =   60
  114.          TabIndex        =   12
  115.          Top             =   240
  116.          Width           =   855
  117.       End
  118.    End
  119.    Begin TextBox txtName 
  120.       BackColor       =   &H00C0C0C0&
  121.       DataField       =   "Name"
  122.       DataSource      =   "dtaOff"
  123.       Height          =   285
  124.       Left            =   2640
  125.       TabIndex        =   2
  126.       Top             =   540
  127.       Width           =   2835
  128.    End
  129.    Begin TextBox txtOffID 
  130.       BackColor       =   &H00C0C0C0&
  131.       DataField       =   "OffID"
  132.       DataSource      =   "dtaOff"
  133.       Height          =   285
  134.       Left            =   2640
  135.       TabIndex        =   1
  136.       Top             =   180
  137.       Width           =   1695
  138.    End
  139.    Begin Label Label3 
  140.       BackColor       =   &H00C0C0C0&
  141.       Caption         =   "Officers"
  142.       FontBold        =   -1  'True
  143.       FontItalic      =   0   'False
  144.       FontName        =   "MS Sans Serif"
  145.       FontSize        =   13.5
  146.       FontStrikethru  =   0   'False
  147.       FontUnderline   =   0   'False
  148.       Height          =   315
  149.       Left            =   120
  150.       TabIndex        =   14
  151.       Top             =   60
  152.       Width           =   1095
  153.    End
  154.    Begin Label Label2 
  155.       BackColor       =   &H00C0C0C0&
  156.       Caption         =   "Name:"
  157.       Height          =   195
  158.       Left            =   1980
  159.       TabIndex        =   11
  160.       Top             =   540
  161.       Width           =   615
  162.    End
  163.    Begin Label Label1 
  164.       BackColor       =   &H00C0C0C0&
  165.       Caption         =   "Officer ID:"
  166.       Height          =   195
  167.       Index           =   0
  168.       Left            =   1680
  169.       TabIndex        =   0
  170.       Top             =   180
  171.       Width           =   975
  172.    End
  173.    Begin Menu mnuRecord 
  174.       Caption         =   "&Record"
  175.       Begin Menu mnuNew 
  176.          Caption         =   "&New"
  177.       End
  178.       Begin Menu mnuDel 
  179.          Caption         =   "&Delete"
  180.       End
  181.       Begin Menu mnuSave 
  182.          Caption         =   "&Save"
  183.       End
  184.       Begin Menu mnuCancel 
  185.          Caption         =   "&Cancel"
  186.       End
  187.       Begin Menu Dash 
  188.          Caption         =   "-"
  189.       End
  190.       Begin Menu mnuExit 
  191.          Caption         =   "E&xit"
  192.       End
  193.    End
  194.    Begin Menu mnuHelp 
  195.       Caption         =   "&Help"
  196.    End
  197. End
  198. Option Explicit
  199. Dim CurrRec As String
  200. Dim Starting As Integer
  201. Dim LastNum As String
  202. Dim PSort As Integer
  203.  
  204. Sub cmbSortBy_Click ()
  205.     Dim Src As String
  206.     If cmbSortBy.Text = "Officer ID" Then Src = QOff & "ORDER BY OffID"
  207.     If cmbSortBy.Text = "Officer Name" Then Src = QOff & "ORDER BY Name"
  208.     dtaOff.RecordSource = Src
  209.     dtaOff.Refresh
  210. End Sub
  211.  
  212. Sub cmdCancel_Click ()
  213.     If LastNum <> "" Then
  214.         dtaOff.Recordset.FindFirst "OffID = " & "'" & LastNum & "'"
  215.         Call NoChange
  216.     Else
  217.         cmdNew.Value = True
  218.     End If
  219. End Sub
  220.  
  221. Sub cmdDel_Click ()
  222.     On Error GoTo CheckRefInt
  223.     dtaOff.Recordset.Delete
  224.     dtaOff.Refresh
  225.     If dtaOff.Recordset.EOF Then cmdNew.Value = True
  226.     Exit Sub
  227. CheckRefInt:
  228.     If Err = 3200 Then
  229.         MsgBox "Officer is on at least one ticket, cannot delete", MB_EXCL, "Warning Ticket"
  230.         Exit Sub
  231.     Else
  232.         MsgBox "Unexpected Error " & "'" & Err & "'", MB_EXCL, "Warning Ticket"
  233.         Exit Sub
  234.     End If
  235.     Resume
  236. End Sub
  237.  
  238. Sub cmdJumpTo_Click ()
  239.     CurrRec = dtaOff.Recordset!OffID
  240.     If cmbSortBy.Text = "Officer ID" Then dtaOff.Recordset.FindFirst "OffID >= " & "'" & txtJumpTo & "'"
  241.     If cmbSortBy.Text = "Officer Name" Then dtaOff.Recordset.FindFirst "Name >= " & "'" & txtJumpTo & "'"
  242.     If dtaOff.Recordset.NoMatch Then
  243.         MsgBox "No records found that match that value.", MB_EXCL, "Warning Ticket"
  244.         dtaOff.Refresh
  245.         dtaOff.Recordset.FindFirst "OffID = '" & CurrRec & "'"
  246.     End If
  247. End Sub
  248.  
  249. Sub cmdNew_Click ()
  250.     Call Editing
  251.     dtaOff.Recordset.AddNew
  252.     txtOffID.SetFocus
  253. End Sub
  254.  
  255. Sub cmdReturn_Click ()
  256.     Unload frmOff
  257. End Sub
  258.  
  259. Sub cmdSave_Click ()
  260.   On Error GoTo CheckLenErr
  261.   If txtOffID <> "" And txtName <> "" Then
  262.     If MsgBox("Commit Changes?", MSGBOX_TYPE) = YES Then
  263.         If dtaOff.EditMode = EM_ADDNEW Then
  264.             dtaOff.Recordset.Update
  265.             dtaOff.Recordset.MoveLast
  266.             CurrRec = dtaOff.Recordset!OffID
  267.             dtaOff.Refresh
  268.             dtaOff.Recordset.FindFirst "OffID = " & "'" & CurrRec & "'"
  269.         Else
  270.             dtaOff.Recordset.Update
  271.             CurrRec = dtaOff.Recordset!OffID
  272.             dtaOff.Refresh
  273.             dtaOff.Recordset.FindFirst "OffID =" & "'" & CurrRec & "'"
  274.         End If
  275.         Call NoChange
  276.     End If
  277.   Else
  278.     MsgBox "Must have ID and last name to save", MB_EXCL, "Warning Ticket"
  279.   End If
  280.   Exit Sub
  281. CheckLenErr:
  282.     Select Case Err
  283.         Case 3163
  284.             MsgBox "A value is too long, fix or cancel save", MB_EXCL, "Warning Ticket"
  285.             Exit Sub
  286.         Case 3164
  287.             MsgBox "This record has been deleted by another user", MB_EXCL, "Warning Ticket"
  288.             dtaOff.Refresh
  289.             If dtaOff.Recordset.EOF Then
  290.                 MsgBox "There are no records entered, you may add one now.", MB_EXCL, "Warning Ticket"
  291.                 cmdNew.Value = True
  292.             Else
  293.                 Call NoChange
  294.             End If
  295.             Exit Sub
  296.         Case 3200
  297.             MsgBox "Can't change the ID because there is already a ticket for this officer.", MB_EXCL, "Warning Ticket"
  298.             txtOffID = dtaOff.Recordset!OffID
  299.         Case Else
  300.             MsgBox "Unexpected Error " & Str(Err) & " " & Error, MB_EXCL, "Warning Ticket"
  301.             Exit Sub
  302.     End Select
  303.     Resume
  304. End Sub
  305.  
  306. Sub dtaOff_Reposition ()
  307.     If ((Not Starting) And (dtaOff.EditMode <> EM_ADDNEW)) Then
  308.         If (Not dtaOff.Recordset.EOF) Then
  309.             LastNum = dtaOff.Recordset!OffID
  310.         Else
  311.             LastNum = ""
  312.         End If
  313.     End If
  314. End Sub
  315.  
  316. Sub dtaOff_Validate (Action As Integer, Save As Integer)
  317.     Select Case Action
  318.         Case 1 ' First
  319.         Case 2 ' Previous
  320.         Case 3 ' Next
  321.         Case 4 ' Last
  322.         Case 5 ' AddNew
  323.         Save = False
  324.         Case 6 ' Update
  325.         Case 7 ' Delete
  326.         If MsgBox("Delete Record?", MSGBOX_TYPE) <> YES Then Action = 0
  327.         Case 8 ' Find
  328.         Save = False
  329.         Case 9 ' Set Bookmark
  330.         Case 10 ' Close
  331.         Case 11 ' Unload Form
  332.         If (dtaOff.Enabled = False) Then
  333.             If MsgBox("Commit Changes?", MSGBOX_TYPE) = YES Then
  334.                 If Not (txtOffID <> "" And txtName <> "") Then
  335.                     MsgBox "Must have ID and last name to save", MB_EXCL, "Warning Ticket"
  336.                     Action = 0
  337.                 End If
  338.             Else
  339.                 Save = False
  340.             End If
  341.         End If
  342.     End Select
  343. End Sub
  344.  
  345. Sub Editing ()
  346.     If dtaOff.Enabled = True Then
  347.         dtaOff.Enabled = False
  348.         mnuSave.Enabled = True
  349.         mnuCancel.Enabled = True
  350.         mnuNew.Enabled = False
  351.         mnuDel.Enabled = False
  352.         cmbSortBy.Enabled = False
  353.         cmdJumpTo.Enabled = False
  354.         cmdSave.Enabled = True
  355.         cmdCancel.Enabled = True
  356.         cmdNew.Enabled = False
  357.         cmdDel.Enabled = False
  358.         lblSortBy.ForeColor = &H808080
  359.     End If
  360. End Sub
  361.  
  362. Sub Form_Activate ()
  363.     If Starting Then
  364.         Call RedoCombo
  365.         Starting = False
  366.         dtaOff.Caption = "Officers by ID"
  367.         cmbSortBy.Text = "Officer ID"
  368.         dtaOff.Refresh
  369.         If dtaOff.Recordset.EOF Then
  370.             cmdNew.Value = True
  371.         Else
  372.             Call NoChange
  373.         End If
  374.     End If
  375. End Sub
  376.  
  377. Sub Form_Load ()
  378.     NL = (Chr(13) + Chr(10))
  379.     Starting = True
  380. End Sub
  381.  
  382. Sub mnuCancel_Click ()
  383.     cmdCancel.Value = True
  384. End Sub
  385.  
  386. Sub mnuDel_Click ()
  387.     cmdDel.Value = True
  388. End Sub
  389.  
  390. Sub mnuExit_Click ()
  391.     Unload frmOff
  392. End Sub
  393.  
  394. Sub mnuNew_Click ()
  395.     cmdNew.Value = True
  396. End Sub
  397.  
  398. Sub mnuSave_Click ()
  399.     cmdSave.Value = True
  400. End Sub
  401.  
  402. Sub NoChange ()
  403.         lblSortBy.ForeColor = &H80000008
  404.         dtaOff.Enabled = True
  405.         mnuSave.Enabled = False
  406.         mnuCancel.Enabled = False
  407.         mnuNew.Enabled = True
  408.         mnuDel.Enabled = True
  409.         cmbSortBy.Enabled = True
  410.         cmdJumpTo.Enabled = True
  411.         cmdSave.Enabled = False
  412.         cmdCancel.Enabled = False
  413.         cmdNew.Enabled = True
  414.         cmdDel.Enabled = True
  415. End Sub
  416.  
  417. Sub RedoCombo ()
  418.     cmbSortBy.AddItem "Officer ID"
  419.     cmbSortBy.AddItem "Officer Name"
  420. End Sub
  421.  
  422. Sub txtName_KeyPress (KeyAscii As Integer)
  423.     Call Editing
  424. End Sub
  425.  
  426. Sub txtOffID_KeyPress (KeyAscii As Integer)
  427.     Call Editing
  428. End Sub
  429.  
  430. Sub txtOffID_LostFocus ()
  431.   If txtOffID.Text <> LastNum Then
  432.     Dim DBClone As Dynaset
  433.     Set DBClone = dtaOff.Recordset.Clone()
  434.     DBClone.FindFirst "OffID = '" & txtOffID & "'"
  435.     If Not DBClone.NoMatch Then
  436.         If MsgBox("Display officer and lose any changes?", MSGBOX_TYPE) = YES Then
  437.             dtaOff.Recordset.FindFirst "OffID = '" & txtOffID & "'"
  438.             Call NoChange
  439.         Else
  440.             txtOffID = dtaOff.Recordset!OffID
  441.         End If
  442.     End If
  443.   End If
  444. End Sub
  445.  
  446.